Design - Rules of thumb - Laws - Guidelines and Principles

Maintenance and Reuse Principles

DRY (Don't Repeat Yourself)
  • Avoid code duplication.

  • All logic or knowledge should be centralized in a single place.

YAGNI (You Ain't Gonna Need It)
  • Do not implement features before they are actually needed.

KISS (Keep It Simple Stupid)
  • Code should be as simple as possible, avoiding unnecessary complexity.

Code Organization

Brook's Law, Amdahl's Law, and Conway's Law